1
柔軟なメソッド定義の芸術
AI035Lesson 4
00:00

Rubyは、厳格なシグネチャから 動的インターフェースへと進化させます。そして、 スプラット オペレータと式ベースの論理を習得することで、複雑なオーバーロードなしに、データ密度の変化に柔軟に対応するメソッドを構築できます。

1. 智能的なデフォルト値とスプラット

Rubyでは、パラメータをシグネチャ内で初期化できるため、データが少なくても機能を確保できます。 スプラット演算子(*) これは橋渡しの役割を果たします。パラメータでは、追加の引数を配列に収集し、呼び出しでは配列を個別の引数に展開します。

キャプチャ(パラメータ)def f(a, *rest)f(1, 2, 3) →rest = [2, 3]展開(呼び出し)arr = [1, 2, 3]meth(*arr) →meth(1, 2, 3)

2. 式に基づく戻り値

Rubyのメソッドは、自動的に 最後に実行された式の値を返します。ただし、 return キーワードは、早期リターンや並列代入用に複数の値を配列として返すために意図的に使用されます。 並列代入

num, sq = meth_three
# Rubyは (num, sq) を配列 [32, 1024] としてパッケージします
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>